ACK提供了节点池功能对节点进行分组管理。节点池是具有相同属性(例如实例规格、操作系统、标签和污点等)的一组节点的逻辑集合。一个集群中可以创建多个不同配置和类型的节点池。节点池的配置包含节点的属性,例如节点实例规格、可用区、操作系统、标签和污点等。您可以创建节点池,并在节点池维度对节点进行统一的运维和管理。
建议您在创建节点池前,先参见节点池概述了解节点池的基本信息、使用场景、相关功能、涉及的计费等信息。
操作入口
您可以在目标集群的节点池页面进行节点池的相关操作,包括创建、编辑、删除、查看等。
登录容器服务管理控制台,在左侧导航栏选择集群。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
创建节点池
您可以在控制台完成节点池的配置,包括基本配置、网络配置、存储配置等。部分配置项(尤其是节点池可用性相关和网络相关的配置)在创建后不支持调整,请参见下文重点关注。创建节点池的过程中不会影响其他已有节点池内节点和业务的运行。
除控制台外,ACK还支持通过API和Terraform方式创建节点池,请参见CreateClusterNodePool - 创建节点池、通过Terraform创建具备自动伸缩功能的节点池。
在节点池页面,单击创建节点池,然后在创建节点池对话框,完成创建节点池的配置项。
节点池创建完成以后,支持在编辑节点池页面修改配置项。如下表所示,是否支持修改代表节点池创建后对应的配置项是否支持修改,代表不支持修改,代表支持修改,不涉及代表配置项仅在创建节点池时展示。
基本配置
配置项
说明
是否支持修改
节点池名称
自定义的节点池名称。
不涉及
地域
默认选择当前集群所在地域,且不可更改。
加密计算
说明当前仅白名单用户可以配置加密计算,请提交工单申请。
仅容器运行时选择为containerd时,需配置该参数。
是否开启加密计算。加密计算是为有强安全诉求的用户提供基于硬件加密技术的云原生一站式机密计算容器平台,可以帮助您保护数据使用(计算)过程中的安全性、完整性和机密性,同时简化可信或机密应用的开发、交付和管理成本。更多信息,请参见ACK-TEE机密计算介绍。
不涉及
容器运行时
根据集群Kubernetes版本选择容器运行时。如何选型,请参见containerd、安全沙箱、Docker运行时的对比。
containerd(推荐):支持所有版本的集群。
安全沙箱:支持1.31及以下版本的集群。
Docker(已停止支持):支持1.22及以下版本的集群。
托管节点池相关配置
托管节点池
ACK将在维护窗口期内执行托管节点池的自动化运维操作,例如kubelet升级、运行时升级、OS CVE漏洞自动修复等。您可以单击设置,配置具体的维护策略。
自愈规则
需开启托管节点池。
勾选后,节点NotReady时,系统会尝试自动重启相关组件来修复故障节点,并在重启前执行排水。
自动升级规则
需开启托管节点池。
勾选后,系统会在有可用的kubelet版本时自动升级到该版本。更多信息,请参见升级节点池。
自动修复 CVE(OS)
需开启托管节点池。
可配置自动修复漏洞的级别,包括高危、中危、低危漏洞。更多信息,请参见开启节点池节点故障自动恢复、修复节点池操作系统CVE漏洞。
有些漏洞修复完成后需要重启服务器来使其修复生效。开启必要时重启节点以修复 CVE 漏洞后,ACK会按需自动重启节点;未开启时,需在修复完成后手动重启节点。
集群维护窗口
需开启托管节点池。
托管节点池将在维护窗口进行自动化升级,例如节点池镜像升级、运行时升级、Kubernetes版本等。
单击设置,在集群维护窗口对话框,设置维护周期、维护起始时间以及维护时长,然后单击确定。
扩容模式
支持手动扩容和自动伸缩两种扩容方式,根据业务需求和策略自动调整计算资源,节省集群成本。
网络配置
配置项
说明
是否支持修改
网络配置
专有网络
默认选择集群VPC,节点池创建完成后不可更改。
交换机
节点池的扩缩容将根据扩缩容策略,在选择的虚拟交换机可用区下弹出节点。您可以在已有虚拟交换机列表中,根据可用区选择交换机。
如果没有您需要的交换机,可以单击创建虚拟交换机创建。具体操作,请参见创建和管理交换机。
实例和镜像配置
配置项
说明
是否支持修改
付费类型
节点池扩容ECS实例时默认采用的付费类型,支持按量付费、包年包月和抢占式实例。
包年包月:需配置购买时长以及自动续费。
抢占式实例:目前仅支持具有保护期的抢占式实例。需同时配置单台实例上限价格。
当指定实例规格的实时市场价格低于单台实例上限价格时,能成功创建抢占式实例。超过保护期后(1小时),每5分钟检测一次实例规格的实时市场价格和库存。如果某一时刻的市场价格高于出价或实例规格库存不足,抢占式实例会被释放。使用方式,请参见抢占式实例节点池最佳实践。
为保证节点池统一,按量付费、包年包月节点池与抢占式实例节点池之间不支持转换。例如,对于创建节点池时选择付费类型为按量付费或包年包月的节点池,编辑节点池时不展示抢占式实例;反之亦然。
重要修改节点池的付费类型仅对扩容的新节点生效,不会改变节点池内已有节点的付费类型。如果您期望修改节点池中已有节点的付费类型,请参见按量付费转包年包月。
为保证节点池的统一,不支持按量付费、包年包月节点池修改为抢占式实例节点池;也不支持抢占式实例节点池修改为按量付费、包年包月节点池。
实例相关的配置项
根据实例规格或属性选择Worker节点池使用的ECS实例,可通过vCPU、内存、规格族、架构等属性筛选所需的实例规格族。您可以参见ECS实例规格配置建议获取节点的配置建议。
节点池扩容时,将从选中的实例规格中扩容。具体扩容到的实例规格取决于节点池扩缩容策略。选择的实例规格越多,节点池成功弹出节点的概率越大。
由于实例规格不可用或库存不足,导致节点池弹出节点失败时,可以尝试添加更多实例规格。您可以参照控制台的弹性强度建议添加实例规格,也可以创建节点池后查看节点池弹性强度。
如果您选择的实例均为GPU服务器,您可以按需开启共享 GPU 调度。更多信息,请参见共享GPU调度概述。
操作系统
云市场镜像处于灰度发布中。
公共镜像:容器服务 Kubernetes 版提供的ContainerOS、Alibaba Cloud Linux 3、Ubuntu、Windows等操作系统的公共镜像。详细信息请参见操作系统。
自定义镜像:使用自定义操作系统镜像,详细信息请参见如何基于创建好的ECS实例创建自定义镜像,并使用该镜像创建节点?。
云市场镜像:使用阿里云云市场镜像。
说明修改节点池系统镜像时,仅影响新增节点,不会修改节点池已有节点的系统镜像。已有节点的系统镜像升级,请参见升级节点池。
为保证节点池内节点系统镜像的统一,修改节点池镜像时,仅允许修改为同类型镜像的最新版本,不支持更改镜像类型。
安全加固
为集群开启安全加固。创建完成后,加固方案不支持转换。
不开启:对ECS实例不进行安全加固。
等保加固:阿里云为Alibaba Cloud Linux 2和Alibaba Cloud Linux 3等保2.0三级版镜像提供等保合规的基线检查标准和扫描程序。等保加固在保障原生镜像兼容性和性能的基础上进行了等保合规适配,使其满足国家信息安全部发布的《GB/T22239-2019信息安全技术网络安全等级保护基本要求》。更多信息,请参见ACK等保加固使用说明。
重要等保加固会禁止Root用户通过SSH远程登录。您可通过ECS控制台使用VNC方式登录系统创建可使用SSH的普通用户。具体操作,请参见使用VNC登录实例。
阿里云 OS 加固:仅当系统镜像选择Alibaba Cloud Linux 2或Alibaba Cloud Linux 3时,可为节点开启阿里云OS加固。
不涉及
登录方式
不涉及
登录名
当登录方式选择设置密钥或者设置密码时,需按需选择以root登录还是以ecs-user登录。
不涉及
存储配置
配置项
说明
是否支持修改
系统盘
支持ESSD AutoPL、ESSD云盘、ESSD Entry、SSD云盘和高效云盘。系统盘可选的类型与选择的实例规格族相关。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。
您可以选择配置更多系统盘类型,配置与系统盘不同的磁盘类型,提高扩容成功率。创建实例时,系统将根据指定的磁盘类型顺序,选择第一个匹配的磁盘类型用于创建实例。
数据盘
支持ESSD AutoPL、ESSD云盘、ESSD Entry以及上一代云盘(SSD云盘和高效云盘)。数据盘可选的类型与选择的实例规格族相关。如果云盘类型下拉列表没有显示的云盘类型,代表不支持该云盘类型。
挂载数据盘时,所有云盘类型均支持加密。选择密钥时,阿里云默认使用服务密钥(Default Service CMK)进行加密,您也可以选择事先在KMS服务中创建好的自定义密钥(BYOK)为该云盘进行加密。
在需要容器镜像加速、大模型快速加载等场景下,您还可以使用快照创建数据盘,提升系统的响应速度和处理能力。
每个节点上需有一块数据盘被挂载到
/var/lib/container
(/var/lib/kubelet
、/var/lib/containerd
将挂载到/var/lib/container
目录下)。对于节点上的其他数据盘,您可以进行初始化设置,自定义其挂载目录。使用说明,请参见ACK节点池中数据盘可以自定义目录挂载吗?
说明一台ECS实例最多可挂载64块数据盘,不同实例规格支持挂载的云盘数量上限不同。实例规格支持挂载的云盘数量上限,可以通过DescribeInstanceTypes接口查询(DiskQuantity)。
弹性临时盘
白名单功能,请提交工单申请。
弹性临时盘用于临时数据存储,为ECS实例提供临时数据存储空间,具备高性能、高性价比等特点。典型使用场景如下。
临时数据存储
适用于在本地盘存放临时数据,例如临时计算中间结果、缓存数据、临时文件等。
高性能计算
对IOPS(数十万到百万)和吞吐量(数百MB/s至数GB/s)要求高的计算任务,弹性临时盘可以提供高性能的临时存储支持。
临时弹性盘仅支持在部分地域和部分ECS实例规格中使用,请参见地域限制、实例规格限制。
您可以选择是否对弹性临时盘进行初始化设置,自定义其挂载目录。
实例数量
配置项
说明
是否支持修改
期望节点数
节点池应该维持的总节点数量,建议至少配置2个节点,以确保集群组件正常运行。您可以通过调整期望节点数,达到扩容或缩容节点池的目的,请参见扩缩容节点池。
如无需创建节点,可填写为0,后续再手动调整,增加节点数。
高级配置
展开高级选项(选填),配置节点扩缩容策略、资源组、ECS标签、污点等信息。
单击确认配置。
在节点池列表,如果节点池状态显示初始化中,表明节点池正在创建。创建完成后,状态显示为已激活。
编辑节点池
创建节点池后,ACK集群支持通过控制台调整部分节点池配置,例如节点池所在的虚拟交换机、付费类型、实例规格、系统盘及启用或停用弹性伸缩等。您可以参见创建节点池的配置项说明了解支持更新的配置项。
节点池编辑过程中,不会影响节点池内已有节点和业务的运行。
节点池配置更新后,除特殊说明场景外(例如同步更新存量节点的 ECS 标签、同步更新存量节点的标签(Labels)及污点(Taints)),不会修改节点池已有节点的配置,仅作用于新增节点。
节点池配置更新后,后续节点池中新增的节点都将默认使用该配置。
在节点池列表页面中,单击目标节点池所在行操作列的编辑。
在编辑节点池页面,编辑节点池的配置项,并按照页面提示完成配置。
在节点池页面,如果节点池状态显示更新中,则说明节点池正在变更中。变更完成后,状态显示为已激活。
查看节点池
您可以查看节点池的基本信息、监控信息,以及节点池中的全部节点信息和节点伸缩活动的记录。
单击目标节点池名称,查看以下信息。
基本信息页签:展示集群信息、节点池信息、节点配置信息。如果集群已开启自动弹性伸缩,还将展示自动弹性伸缩的配置信息。
监控页签:集成了阿里云Prometheus服务,展示节点池的资源水位情况,包括CPU或内存使用情况、磁盘使用情况、节点CPU或内存平均使用率等。
节点管理页签:当前节点池中的全部节点列表,支持对节点进行移除、运维、排水、调度等操作。单击导出可以通过CSV文件导出节点的各项信息。
伸缩活动页签:最近节点实例伸缩活动记录,包括伸缩后的实例数量、伸缩活动描述等。伸缩活动失败时,您可以查看失败的原因。关于扩缩容失败常见错误码,请参见手动扩缩容节点池。
删除节点池
不同计费规则的实例释放规则不同,请参见下文使用标准的操作删除节点池中的节点。在删除节点池前,请确认该节点池是否设置了期望节点数,这将直接影响节点的释放行为。
节点池 | 释放规则 |
已开启期望节点数的节点池 | |
未开启期望节点数的节点池 |
(可选)单击目标节点池名称,在基本信息页签中检查是否配置了期望节点数。如果未启用,期望节点数字段会显示为-。
在目标节点池右侧的操作列,单击更多>删除,仔细阅读弹出信息,确认无误后,单击确定。
相关操作
节点池激活完成后,您可以在节点池列表区域,单击更多,按需进行以下操作。
界面词 | 说明 | 相关文档 |
同步节点池 | 节点信息异常时,同步节点池的数据信息。 | 无 |
详情 | 节点池配置详情。 | 无 |
编辑 | 调整节点池的配置,例如节点池所在的虚拟交换机、托管节点池配置、付费类型、实例规格、启用或停用弹性伸缩等。 | 参见上文的编辑节点池 |
监控 | 集成了阿里云Prometheus服务,展示节点池的资源水位情况,包括CPU或内存使用情况、磁盘使用情况、节点CPU或内存平均使用率等。 | 参见上文的查看节点池 |
扩缩容 | 支持手动扩容和自动伸缩两种扩容方式,根据业务需求和策略自动调整计算资源,节省集群成本。 | |
配置登录方式 | 设置节点的登录方式,支持密钥和密码两种方式。 | 参见前文的实例和镜像配置 |
开启托管 | 开启节点池的自动化运维能力,包括节点故障自动恢复、kubelet和运行时自动升级、OS CVE自动修复等。 | 参见前文的基本配置 |
添加已有节点 | 如购买ECS实例后需将其添加到ACK集群中作为Worker节点,或移除Worker节点后需重新加入节点池,可以使用添加已有节点的功能。此功能存在一些使用限制和注意事项,请参见文档了解。 | |
克隆 | 基于现有节点池配置,克隆一个相同配置的节点池。 | 无 |
节点恢复 | 当托管节点池中的节点发生异常时,ACK会自动发起故障节点的恢复操作,使节点保持正常运行(部分复杂的节点故障可能仍然需要手动修复)。关于ACK提供的检查项及具体的恢复行为请参见文档了解。 | |
修复 CVE(OS) | 执行CVE漏洞的批量修复,提升集群的稳定性、安全性、合规性。部分CVE漏洞的修复需要通过重启节点来实现,请参见文档了解功能说明及注意事项。 | |
Kubelet 配置 | 在节点池维度自定义节点的kubelet参数配置,调整节点行为,例如整集群资源预留以调配资源用量等。强烈不建议您通过黑屏操作自行定义控制台不支持的kubelet参数。 | |
OS 配置 | 在节点池维度自定义节点的OS参数配置,以调优系统性能。强烈不建议您通过黑屏操作自行定义控制台不支持的OS参数。 | |
更换操作系统 | 更换节点操作系统类型,或升级操作系统的版本。 | 无 |
Kubelet 升级 | 升级节点池中节点的kubelet版本和containerd版本。 | |
删除 | 删除不再使用的节点池,以减少不必要的资源浪费。节点池是否开启期望节点数以及节点的计费模式会影响节点释放的行为。 | 参见上文的删除节点池 |
常见问题
如何基于创建好的ECS实例创建自定义镜像,并使用该镜像创建节点?
您可以在创建ECS实例后,根据业务需要自定义该实例(如安装软件、部署应用环境等),并为更新后的实例创建自定义镜像。使用该镜像创建的新实例,会包含您已配置的自定义项,省去您重复自定义实例的时间。
登录ECS实例,执行以下命令,删除指定的文件。关于如何登录实例,请参见使用Workbench工具以SSH协议登录Linux实例。
chattr -i /etc/acknode/nodeconfig-* rm -rf /etc/acknode systemctl disable ack-reconfig rm -rf /etc/systemd/system/ack-reconfig.service rm -rf /usr/local/bin/reconfig.sh rm -rf /var/lib/cloud
基于ECS实例创建自定义镜像。相关注意事项和具体操作步骤,请参见使用实例创建自定义镜像。
配置节点池,选择操作系统类型为自定义镜像,并参见前文说明完成节点池的创建。
相关文档
当不再需要某节点继续工作时,请按照标准化操作将节点移除,请参见移除节点。
ACK需要占用一定的节点资源来为kube组件和system进程预留资源,请参见节点资源预留策略。
当集群的容量规划无法满足应用Pod调度时,您可以启用节点伸缩自动扩缩节点资源,请参见节点伸缩概述。
单Worker节点支持的最大Pod数受网络插件类型影响,在大部分场景下不支持变更。如需提升可用的Pod数量,需通过节点池扩容、实例规格提升、重建集群并重新规划Pod网段等手段,具体操作请参见调整可使用的节点Pod数量。